Neuroprocessing service

ABSTRACT

A neuroprocessing center executes a neuroprocessing using a neurocomputer. The neuroprocessing center is a public facility available for a user having a user terminal and executes the neuroprocessing as requested by the user. The user is given a result of the neuroprocessing. It is unnecessary for a user to have a computer implementing the neural network and anyone can participate in the profits of the neuroprocessing service. Examples of neuroprocessing service achieved by the neural network are graphic pattern generating services, character recognition services, sound synthesizing services, etc. A result of the neuroprocessing is effectively used by the user.

This application is a continuation of application Ser. No. 08/034,391, filed Mar. 18, 1993, now abandoned.

BACKGROUND OF THE INVENTION

This invention generally relates to the neural networks and, in particular, to a method and system for providing a neuroprocessing service through a neuroprocessing center. The neural networks according to the present invention can be implemented in, for example, a graphic pattern modification system to electronically modify a graphic pattern such as a font of characters or the like.

It has been proposed to use the neural networks to process and control a computer system. As well known in the art, neural networks are typically composed of processing elements and connections. For example, a back propagation neural network is one of the most important and common neural network architecture, which is a hierarchical design consisting of fully interconnected layers of processing nodes. More particularly, the network architecture comprises at least an input layer and an output layer. The network architecture may further comprise an additional layer or N hidden layers between the input layer and the output layer where N represents an integer which is equal to or larger than zero. Each layer consists of one or more nodes which are connected by links with variable weights. The network is trained by initially selecting small random weights and internal thresholds and then presenting all training data repeatedly. Weights are adjusted after every trial using side information specifying the correct result until weights converge to an acceptable value. The neural network is thus trained by data representing input patterns and desired output patterns (teacher patterns) to automatically generate and produce a desired output for an unknown input.

It is conceivable that various processings and controls can be made by using the neural networks and one example thereof is now described.

Many graphic patterns in daily use can be formed by modifying other graphic patterns according to certain rules. A type family in typography is considered as one of the most typical example of such modification of patterns. There are various fonts (a set of characters) in typography, each of which consists of characters, symbols and numbers of one typeface such as Courier, Helvetica, and so on. Fancy letters and black letters are also used frequently in graphical printings. In. Japanese, Chinese characters of kanji has its own typefaces such as mincho, gothic or antique. Mincho, one of the most popular and legible typefaces in Japanese, is a style of character having thin horizontal bars and thick vertical bars. Roman in the European typeface resembles Japanese mincho. Each of the horizontal and vertical bars includes an imbricated triangular portion at one end thereof.

In general, fonts are formed manually based on original characters created by a calligrapher or a font designer. To make one font requires laborious work especially in Japanese, due to several thousands of kanji. These fonts are adopted into various electronic devices such as a word processor, a personal computer, a DTP (desk top publishing) device or other basic peripheress. Information relating to the font is generally contained in a font memory (font cartridge), which is generally implemented by a read-only memory (ROM). The font memory is plugged into a printer and the fonts are stored therein in electronic form. Each character is thus electronically represented by dots or functions for every one font, based on the original characters created by a calligrapher or a font designer. As a result of the electronic manipulation of fonts, fonts differ slightly from manufacturers to manufacture or, even with the same manufacturer. For example, word processing packages using Helvetica 12 point may modify this font electronically so that it appears to be a new font, or even the shape of the imbricated triangular portion of mincho based on a certain rule slightly differs from the manufacturer of the word processor or the like. Such technique results in expensive and time-consuming process for making an additional font because a singular font consists of a large number of characters, symbols and numbers. Accordingly, it has been required to provide a facile method for creating a novel font which is different from those of others. This is also true with alphabets where typefaces are protected under the copyright law and unauthorized copying thereof is forbidden.

Creation of a novel font is additionally advantageous, as follows. A font memory of a word processor generally contains a predetermined font so that different articles written on the same word processor are exactly equal in face. A paper written on a word processor is legible and regularly formed while there appears no individuality of characters.

Recently, many people use a word processor for writing a personal letter in Japan and most of the word processors for personal use are found to be used for writing New Year's greeting cards. Such greeting cards with fixed types make unnecessarily formal impressions and are often not acceptable. Similarly, Christmas cards or other season greetings cards with fixed types are often not acceptable. A special font for each individual is hence the ideal as the exclusive font of characters of a personal word processor. The font is, however, generated manually as mentioned above. This sometimes costs several hundred thousands or several million dollars. Most people cannot afford such a costly font exclusive only to their personal word processors. The present invention accordingly proposes utilizing the neural networks to create a personal font of characters, thereby making inexpensive personal fonts available. The inventor also suggests an approach to other possible applications of the neuroprocessing service.

Though the above-mentioned neural networks can be realized using software for conventional hardware, it is preferable to use a neurocomputer having an exclusive MPU (micro processing unit) called a neurochip. Typical neurochips are disclosed in, for example, Japanese Patent Unexamined Prepublication Nos. 64788/1990, 226382/1990 and 228784/1990. However, most people cannot afford such expensive hardware and thus, it has been desired to provide a neurocomputer for public use.

Accordingly, a primary object of the present invention is to provide a neuroprocessing service which is available for the public, in an effective manner at a reasonable cost.

Another object of the present invention is to provide a method and system for readily creating various fonts of characters.

SUMMARY OF THE INVENTION

According to a first aspect of the present invention, a neuroprocessing center for a user is provided. The neuroprocessing center provides neuroprocessing service as requested from a user and the user is given a processing result. A magnetic recording medium such as a flexible disc, an optical disc or other recording media may be used to exchange data between the user terminal and the neuroprocessing center. However, it is preferable to utilize a cable/radio communication line to access the neuroprocessing center from the user terminal.

According to the present invention, it is unnecessary for a user to have a computer implementing the neural network and anyone can utilize the neuroprocessing service. However, a user terminal may comprise a small-scaled neural network system, sufficiently. The neuroprocessing can be assigned between the neuroprocessing center and the user terminal when the user terminal comprises the neural network system. For example, the neural network in the neuroprocessing center is trained and the result thereof is given to the neural network system at the user side.

The present invention provides public services, such as a graphic pattern generating service, a character recognition service or a sound synthesizing service, through the neural network system. The user can use the processing results obtained after training of the neural network.

The graphic pattern generating service will be described as an example to which the present invention can be applied. With sample data indicative of graphic patterns, such as characters in a certain pattern or style, the neural network is trained and automatically produces information about many graphic patterns other than the samples, which contributes to provide a set of an extremely large number of patterns at a reasonable cost.

Another aspect of the present invention is to provide modified graphic patterns. For this purpose, a subset of modified patterns is first prepared by modifying each of the corresponding original patterns into a preferable shape. The modification is made in accordance with a specified modification rule. Data indicative of the subset of modified patterns are supplied to the neural network as teacher patterns and data indicative of the original patterns are supplied thereto as input patterns. The neural network learns the modification rule during training by calculating a difference between the input pattern and the teacher pattern. When the weight converges to an acceptable value, the neural network enables creation of the modified patterns for unknown patterns.

As mentioned above, a font of characters is obtained by modifying the original characters based on the specified modification rule. In other words, the font or a complete set of characters of one particular size, style and weight can be made as a result of modification of the original characters. Accordingly, it becomes possible to automatically modify a set of characters through the neural network. The neural network is trained by using a group of desired characters and original characters. Such graphic pattern processing itself is quite novel and advantageous.

According to the present invention, it is possible to provide neural networks available to be accessed at any time by any of the users with the processing result of the neuroprocessing available on his/her user terminal.

Other advantages and features of the present invention will be described in detail in the following preferred embodiments thereof.

BRIEF DESCRIPTION OF THE INVENTION

FIG. 1 is a view for use in describing incoming and outgoing data for a node of the neural network;

FIG. 2 is a graphical representation of sigmoid functions;

FIG. 3 is a block diagram showing an exemplified structure of the back propagation neural network, which is applicable to the present invention;

FIG. 4 shows an architecture and interaction of back propagation neural network nodes;

FIG. 5 is a block diagram for use in describing a basic operation of a neuroprocessing service system according to the present invention;

FIG. 6 is a schematical view of a neuroprocessing service system according to the present invention;

FIG. 7 is a block diagram showing a first embodiment of the neuroprocessing service system according to the present invention;

FIG. 8 is a block diagram showing a second embodiment of the neuroprocessing service system according to the present invention;

FIG. 9 is a block diagram showing a third embodiment of neuroprocessing service system according to the present invention;

FIG. 10 is a block diagram of a user terminal having a neuroprocessing unit therein;

FIGS. 11(a) and 11(b) are views for use in describing assignment of neuroprocessing, in which, FIG. 11(a) shows time charts representing an example of process assignment for graphic pattern generating service and FIG. 11(b) shows a flow diagram corresponding to the time chart illustrated in FIG. 11(a);

FIG. 12 is a schematical block diagram for use in describing operation of a graphic pattern generating system according to the present invention;

FIG. 13(a) show examples of character strokes consisting of a plurality of line segments obtained by a first pattern generating method according to the present invention;

FIGS. 14(a)-(b) are views showing how to represent the line segments in FIGS. 13(a)-(d) as vector data, in which FIG. 14(a) represents an example of an original vector data and FIG. 14(b) represents a feature vector obtained by converting the data illustrated in FIG. 14(a);

FIG. 15 is a block diagram showing relation between the incoming data and the outgoing data of the neural network in the first pattern generating method according to the present invention;

FIGS. 16(a) and 16(b) show examples of character strokes consisting of a plurality of line segments obtained by a second pattern generating method according to the present invention;

FIGS. 17(a) and 17(b) are views showing how to represent the line segments in FIGS. 16(a) and 16(b) as vector data, in which FIG. 17(a) represents an example of an original vector data and FIG. 17(b) represents a feature vector obtained by converting the data illustrated in FIG. 17(a);

FIG. 18 is a block diagram showing relation between the incoming data and the outgoing data of the neural network in the second pattern generating method according to the present invention;

FIGS. 19(a) and 19(b) are graphical representations comparing single-stage training and two-stage training regarding the number of the training cycle and the number of patterns used;

FIG. 20 is a graphical diagram showing the energy spaces and convergence points of the network;

FIGS. 21(a) and 21(b) are graphical representations comparing single-stage training and two-stage training regarding the number of presentations of the training to the set work and the mean square error;

FIG. 22 shows an example where plural types of teacher patterns are made for one input pattern;

FIG. 23 is a view for use in describing a processing method when a plurality of teach patterns are provided for one input pattern;

FIGS. 24(a-c) shows examples of original character patterns and hand-written character patterns;

FIGS. 25(a-c) shows other examples of original character patterns and hand-written character patterns;

FIG. 26 shows character patterns generated by the neural network at various control parameters;

FIG. 27 shows other character patterns generated by the neural network at various control parameters;

FIG. 28 shows other character patterns generated by the neural network at various control parameters;

FIG. 29 is an example of teacher patterns;

FIGS. 30(a), 30(b) and 30(c) are views of outputs generated by the neural network trained in accordance with a first and second training method;

FIG. 31 shows examples of original character patterns and hand-written character patterns;

FIG. 32 shows other examples of original character patterns and hand-written character patterns;

FIG. 33 shows character patterns generated by the neural network at various control parameters;

FIG. 34 shows character patterns generated by the neural network at various control parameters;

FIG. 35 shows character patterns generated by the neural network at various control parameters;

FIG. 36 shows character patterns generated by the neural network at various control parameters;

FIGS. 37(a) and 37(b) are views comparing output data supplied from the neural network trained in accordance with the first and the second training method;

FIG. 38 is a flow chart showing basic operation of the present invention; and

FIG. 39 is a block diagram of an optical character reader and the neural network system connected thereto.

DESCRIPTION OF THE PREFERRED EMBODIMENT

The present invention utilizes the neural networks and typical architecture and operation thereof will be described first for the purpose of facilitating understanding of the present invention.

As described above, the back propagation neural network is one of the most important and common neural network architecture, which is applied to the present invention. The hierarchical neural network architecture comprises at least two layers, an input layer and an output layer. It is possible to carry out neuroprocessing to some extent through the input and output layers. However, a hidden layer yields more effective neural networks. The hidden layer is connected to the input layer and output layer and is not directly connected to the outside world. Each layer consists of one or more nodes which are connected by links with variable weights. The network is trained by initially selecting small random weights and internal thresholds and then presenting all training data repeatedly. The weights are adjusted after every trial using side information specifying the correct result until the weights converge to an acceptable value.

Basic learning operation of the back propagation neural network occurs as follows. First, input patterns are supplied to the neural network to produce output patterns, each of which is compared with a correct or desired output pattern to obtain information indicating a difference between the actual and desired output patterns. The neural network adjusts the weights so as to reduce the difference therebetween. This process is continued until the network reaches a satisfactory level of performance. The neural network trained in the above-mentioned manner can produce an output pattern based on the input pattern even for an unknown input pattern.

FIG. 1 is a view for use in describing incoming and outgoing data for a node of the neural networks. A node sums N weighted inputs and passes the result through a nonlinearity. The node is characterized by an internal threshold of offset q and by the type of nonlinearity. In FIG. 1, xij represents an output of a j-th node in an (s-1)-th layer (i.e., an i-th node in an s-th layer) and ωij represents a connection strength or a weight from the j-th node in the (s-1)-th layer to the i-th node in the s-th layer. As a result, a net input li to the i-th node in the s-th layer is obtained as follows: ##EQU1##

An output xi of the i-th node is obtained by using differentiable non-linearities which, in this case, is a logistic sigmoid function. As a result,

    xi=F(1,1+e-li)                                             (2).

can be obtained. A graphical representation of sigmoid functions is shown in FIG. 2. The sigmoid function will be described in more detail in conjunction with a description of teacher/input pattern generating operations.

The back propagation neural network consisting of three layers is now described with reference to FIGS. 3 and 4. FIG. 3 is a block diagram showing an exemplified structure of the back propagation neural network, which is applicable to the present invention. In FIG. 3, the neural network comprises a learning unit 100 and a weight storing unit 200. The learning unit 100 further comprises a training pattern holding unit 110, a learning performance unit 120 and a learning parameter holding unit 130. The training pattern holding unit 110 holds the input patterns and the teacher patterns. The input patterns are supplied to the learning performance unit 120. The learning parameter holding unit 130 holds a learning law and learning parameters. The learning performance unit 120 further comprises a neural network unit NN and a weight updating unit 121. The weight updating unit 121 adjusts and updates the weight in accordance with the learning law and the learning parameters. The weight storing unit 200 is connected to the learning unit 100 to store the updated weight during training operation.

The learning performance unit 120 will further be described with reference to FIG. 4.

As mentioned above, the learning performance unit 120 comprises the neural network unit NN and the weight updating unit 121. The neural network unit NN is a multi-layered neural network as shown in FIG. 3. FIG. 4 shows an architecture and interaction of back propagation neural network nodes. Each node in the output layer is connected to every node in the hidden layer and the input layer. Each node in the hidden layer is connected to every node in the input layer. Each node in the input layer is supplied with input data from the outside. For example, if K is the number of nodes in the input layer and dk be an output of the k-th input node, an output h of each node in the hidden layer is as follows: ##EQU2## then,

    hj=F(1,1+e-netj)                                           (2),

where "net" represents a net input to a node.

Similarly, if J is the number of nodes in the input layer, an output o of each node in the output layer is as follows: ##EQU3##

The weight updating unit 121 adjusts the weights so as to obtain a desired output of the network. If a pattern p is given, the difference between the actual output opi and the desired output (teacher pattern) tpi is represented by a mean square error therebetween. The mean square error Ep can be obtained as follows: ##EQU4##

During training operation, the weight updating unit 121 adjusts all weights to minimize a cost function δ equal to the mean square error Ep. A cost function δpi for each node in the output layer is given as follows:

    δpi=(tpi-opi)opi(1-opi)                              (4).

Similarly, a cost function δpj for each node in the hidden layer is given as follows:

    δpj=hpj(1-hpj)Σδpiωij              (4)'.

The weight updating unit 121 enables the adjustment of the weight by back propagating the error towards the input layer. It is known in the art that the learning rate will be increased by adding an inertia term to the weight, namely:

    Δωij(n)=ηδixij+αΔωij(n-1)(5),

where n represents the number of the training cycle and α represents a momentum (a learning rate constant).

The modification of the weight between the hidden layer and the output layer is given as follows: ##EQU5## and the modification of the weight between the input layer and the output layer is given as follows: ##EQU6##

Similarly, the modification of the weight between the input layer and the hidden layer is given as follows: ##EQU7##

Learning law for each layer can be given in accordance with the equations (4) and (5).

The above-mentioned back propagation neural network is a preferable type of network applied to the present invention. However, other neural networks of hierarchical design or other designs can be also applied to the present invention. For example, the Elman recurrent network of hierarchical design is available. The Elman recurrent network (not shown) consists of an input layer, a context layer, a hidden layer and an output layer. Each of the input, hidden and output layers has a single node. The output of the hidden layer is duplicated and fed back to a context layer. The context layer latches the data and the latched data is again supplied to the hidden layer. The output of the hidden layer at time t is duplicated and latched into the context layer. The output of the hidden layer at time t+1 is obtained with respect to the data supplied from both of the input layer and the context layer. Accordingly, the context layer holds a history of the previous input data.

Other available neural networks are those disclosed in, for example, Japanese Patent Unexamined Prepublication Nos. 228784/1990, 64788/1990 and 226382/1990. It is noted that these neural networks are only examples and not limited thereto. These prepublications are disclosed herein only as a reference.

Japanese Patent Unexamined Prepublication No. 228784/1990 discloses that a system comprises a neural network consisting of an assembly of analog neuroprocessors each of which receives an analog signal through an analog bus in a time divisional manner and carries out sum of product calculations to supply an analog signal to a second analog bus; a control pattern memory for storing a pattern of a control signal for controlling the neural network; a sequencer for controlling the neural network; a sequencer for generating addresses for the control pattern memory and a weight memory; the weight memory for storing weight information for each analog neuroprocessor; digital controller for controlling the neural network, the control pattern memory, the sequencer and the weight memory and for carrying out a training algorithm; and an input controller disposed in an input layer of the neural network for selecting either one of an input signal for use in carrying out the training algorithm supplied from the digital controller and an analog input signal supplied from an analog port.

Japanese Patent Unexamined Prepublication No. 64788/1990 discloses that an input means inputs an analog voltage to be outputted from the plural neuron models with being time-shared and multiplexed. A multiplier executes positive and negative switching by using an encoding bit of digital weighting data, which are inputted from an external part, for a time-sharing and multiplexing analog input signal. Further, the route of a current with weighting to be converted from the respective voltage values of the time-sharing and multiplexing analog signal is selected by the numerical value bit of the digital weighting data. Then, a product between the respective voltages of the time-sharing and multiplexing analog signals and the digital weighting data is generated. An adder means executes integration operation and a non-linear function generator forms a non-linear output function by the output of a sample-hold means. An output means outputs an analog output voltage, which is outputted to the neuron model in a rear step, with the time-sharing.

Japanese Patent Unexamined Prepublication No. 226382/1990 discloses that a dummy node means is connected to the analog bus of a neural network and generates a fixed voltage in the designated analog bus at the time of a test mode. A weight corrected means in a digital control means determines the intermediate weight of the weight to each neuroprocessor to be multiplied with the fixed voltage, which is generated from the dummy node means in a second state at the time of the test mode, from the off-set voltage of each neuroprocessor and calculates the correct weight for the dummy node from the detected output voltage, which is outputted from the second analog bus, by using the gain. A weight memory stores the weight corrected by the weight correcting means. Thus, weight data for the dummy node are adjusted and the off-set or gain error can be absorbed.

Examples of schematical structure of the present invention, and following which preferred embodiments thereof, will now be described with reference to the drawing.

FIG. 5 is a block diagram for use in describing a basic operation of a neuroprocessing service system according to the present invention. A user can communicate with a neuroprocessing center through an adequate communication method. The user has a user terminal, which may be connected to the neuroprocessing center via a communication line, for processing and using a result of neuroprocessing carried out by the neuroprocessing center. The user terminal applicable to the present invention, may be a personal computer, a word processor or the like. When using a communication line to establish interconnection between the user terminal and the neuroprocessing center, the user terminal is required to have a communication function.

The user terminal comprises, as shown in FIG. 6, an input device such as a key input device (e.g., a keyboard and a touch screen), an on-line input device (e.g., a tablet and a mouse), an off-line input device (e.g., a scanner) or a facsimile device. These input devices are for use in supplying input data and teacher data to a neurocomputer in the neuroprocessing center.

The scanner is used to assist in the entry of data into a computer system. Image information obtained by the scanner may be sent to the neuroprocessing center either in the form of image data (dot data) or of a feature vector.

The movement of the mouse, a trackball and the keyboard sends electrical signals to the system unit which cause the cursor, or pointer, to move in a corresponding fashion. With these on-line input devices, the cursor can be moved very quickly. A light pen is used to pick-up or select information from the screen or tablet.

The tablet is a sensitized drawing area used in conjunction with the mouse or the light pen to input/manipulate data on the screen. A graphics tablet is a popular input device that consists of a flat drawing surface and some type of pointing device similar to a pen, that translates the motion into digital data. A pen, stylus, or hand-held cursor controller are used for drawing or writing a character. The stylus is expected to be widely used in the near future. All light pens contain a lens and a photodetector that senses the intensity of light emitted from a given point on the monitor screen. With an image processing device having an image pick-up device, an image of the original pattern or the modified pattern is picked-up through the image pick-up device such as a camera. The picked-up image is processed into a dot image data. The dot image data is then converted into a feature vector.

In addition, the user terminal preferably comprises an output device such as a display, a printer, plotter or a facsimile device. When the user terminal is connected to the neurocomputer via a communication line, it comprises a transmitter and a receiver as illustrated in FIG. 6. Examples of the transmitter/receiver are a telephone, a modem and an adapter for a facsimile device. However, the user may send data to the neuroprocessing center without using a communication line. In such a case, data stored in an adequate recording device such as a flexible disc may be sent to the neuroprocessing center by mail or by parcel.

With reference to FIG. 7, the neuroprocessing service system according to a first embodiment of the present invention will now be described. A user terminal 60 comprises an input unit 61, a computer unit 62, an output unit 63 and a cable/radio communication unit 64. The user terminal 60 is connected to a neuroprocessing center 50 via a communication line. The computer unit comprises a memory 70 for memorizing data supplied from the neuroprocessing center 50. The memory 70 may be a random access memory (RAM) where the resultant data obtained by the neuroprocessing is stored. It is possible to read out the data (the exclusive font for personal use) stored in the memory 70 and use the font in the same manner as predetermined fonts. The input unit 61 may be any one of the input devices such as a scanner, a keyboard, a mouse or so on.

FIG. 8 shows the neuroprocessing service system according to a second embodiment of the present invention. The neuroprocessing service system of this embodiment comprises similar parts designated by like reference numerals as in FIG. 7. Description of such parts will be omitted for the purpose of brevity. The user terminal 60 comprises an input or transmission unit 61', which in this embodiment is a facsimile device. With the facsimile device 61', it is possible to provide the more simplified service system.

On the other hand, a user can send data to the neuroprocessing center without using a communication line. In this case, the user employs a recording medium such as a magnetic recording medium (e.g., a flexible disc), an optical recording medium (e.g., an optical disc) or other recording medium. The recording medium storing data is transmitted between the user and the neuroprocessing center via mail or parcel.

FIG. 9 is a block diagram showing the neuroprocessing service system according to a third embodiment of the present invention. In FIG. 9, the user terminal 60 comprises similar parts designated by like reference numerals as FIG. 7. Therefore, description of such parts will be omitted. The user terminal 60 comprises an external recording input/output device 65 instead of the communication unit 64. The data is read out of and written into the recording medium in the external recording input/output device 65.

A neurocomputer for carrying out neuroprocessing generally has a neuroprocessing unit. The neuroprocessing unit has two substantial functions, i.e., learning and recognition. As well known in the art, a learning operation requires substantially more calculation than a recognition operation. In order to execute large amounts of calculations at relatively high speed, it is necessary to provide a neurocomputer comprising an hardware exclusive to the neuroprocessing. For example, the neuroprocessing center 50 where a large amount of data is processed requires a large-scale high-speed neurocomputer. The processing carried out in the neuroprocessing center 50 can be assigned to the user terminal to reduce the amount of processing in the center. In this event, the user terminal 60 carries out the processing which requires less calculation and less data at lower speed. For this purpose, the user terminal 60 may comprise a neuroprocessing unit therein.

FIG. 10 is a block diagram exemplifying a user terminal 60 having a neuroprocessing unit therein. In this figure, a user terminal 60 comprises an input unit; 61 such as a character data input device or a key input device a neurocomputer 62a; and an output unit 63 such as a display device or a printer. The neurocomputer 62a further comprises a memory unit 70, neuroprocessing unit 71, a central processing unit (CPU) 72, an input control unit 73 and an output control unit 74. Input data is supplied from the input unit 61 to the input control unit 73. The input control unit 73 is connected to the CPU 72 and, in turn, to the neuroprocessing unit 71. The CPU 72 is additionally connected to the memory unit 70 and the output control unit 74. The memory unit 70 comprises a font memory or a character memory which is not shown. The output control unit 74 is connected to the output unit 63. The neuroprocessing unit 71 carries out neuroprocessing in the manner described later.

If the user terminal 60 comprises the neurocomputer as illustrated in FIG. 10, the neuroprocessing can be assigned between the neuroprocessing center 50 and the user terminal 60 at various rates. FIGS. 11(a) and 11(b) are views for use in describing assignment of neuroprocessing, in which, FIG. 11(a) shows time charts representing an example of assignment for graphic pattern generating service and FIG. 11(b) shows a flow diagram corresponding to the time chart illustrated in FIG. 11(a). The processing carried out by the neuroprocessing center (i.e., crosshatching portions in FIG. 11(a)) is indicated in the flow chart with the same crosshatching.

In FIG. 11(a), a group 0 represents that all of the neuroprocessing is carried out in the user terminal.

A group 1 is classified into four cases, case 1-1 through case 1-4. In case 1-1, the user terminal supplies an image data of a hand-written character to the neuroprocessing center. The neuroprocessing center converts the image data into a feature vector as a training pattern. More specifically, the neuroprocessing center takes a line segment from the hand-written character in the manner described below to produce a skeleton character consisting only of the line segments. The neuroprocessing center then picks up characteristics of the segments and carries out learning operation to produce a desired data. The resultant data is converted into either script data or a rasterized image data to be sent to the user terminal via a communication line or the like. The user terminal receives the script data or the rasterized image data through an output device.

In case 1-2, the user terminal carries out digitizing operation to supply a feature vector to the neuroprocessing center. The neuroprocessing center carries out the neuroprocessing operation to produce either the script data or the rasterized image data in a similar manner as that described in case 1-1. Case 1-3 shows that the training pattern is generated in the user terminal while case 1-4 shows that the learning operation is also carried out in the user terminal.

A group 2 is classified into four cases, case 2-1 through case 2-4. In this group, the neuroprocessing center supplies a result of the neuroprocessing as a vector data to the user terminal. The user terminal converts the vector data into either the script data or the rasterized image data.

A group 3 is classified into three cases or case 3-1 through case 3-3 where the neuroprocessing center supplies the result of learning to the user terminal. The neurocomputer in the user terminal carries out the neuroprocessing by using the result supplied from the center. The remaining operation is similar to those described in conjunction with the groups 1 and 2.

FIG. 12 is a schematic view for use in describing the operation of a graphic pattern generating system according to the present invention. The present invention is directed in general to provide service for automatically creating graphic patterns by using the neural networks. As shown in FIG. 12, a group of original patterns is supplied to the neural network as input patterns. A group of modified patterns prepared by modifying the corresponding original patterns is also supplied to the neural network as a teacher pattern. For example, an original pattern "A" and a modified pattern "A" are supplied to the neural network. The neural network learns the modification rule in the manner described above. The modification rule obtained by the learning is, in this example, `to slant each character to the right at 30°`. After the neural network reaches a satisfactory level of performance, it can create desired outputs for an unknown graphic pattern. When the neural network is supplied with an original pattern "H", it automatically produces an output "H".

In the present invention, the original pattern (input pattern) and the modified pattern (teacher pattern) are supplied to the neural network in the form of image data or vector data. Accordingly, any one of the conventional input devices can be applied to the present invention to supply data to the network. In the neural network according to the present invention, strokes of a character are converted into feature vectors as an input pattern or a teacher pattern. Two methods for generating input and teacher patterns will be described below with reference to FIGS. 13 through 19.

<First pattern generating method>

A graphic pattern such as a character is supplied to the neural network as vector data indicative of strokes of the pattern. In this event, each stroke is represented as a segment which consists of n continuous line segments as shown in FIGS. 13(a)-13(d). For example, each of the first through the fourth strokes illustrated in FIGS. 13(a)-13(d) comprises three line segments (a1, b1, and c1; a2, b2 and c2; . . . , respectively). The first method considers one stroke as one processing segment with which the neural network is trained.

In order to approximate a stroke consisting of a plurality of line segments in accordance with the polygonal line approximation technique, a first line segment (for example, a line segment a1) is specified based on coordinates of an initial point, a length and an angle. The angle is measured to a horizontal line including the coordinates of the initial point. The subsequent line segment (for example, a line segment b1) is specified based on its length and angle.

As shown in FIG. 14(a), the first line segment is specified with the coordinates Xl0 and Yl0 of the initial point, the length Ll0 and the angle Al0. The second line segment is specified with the length Ll1 and the angle Al1. Similarly, all of the line segments other than the first line segment are specified with the length and the angle. The n-th line segment is thus specified with, as shown in FIG. 14(a), the length Lln and the angle Aln. The vector data indicative of the specified line segments are converted into feature vectors as an input pattern or a teacher pattern.

An example of the converted feature vector is shown in FIG. 14(b). With the first pattern generating method, the neural network architecture requires N input nodes and N output nodes where N is a positive integer which is equal to the number obtained by the following equation:

    (the number of segments)×2+2.

More particularly, at least two input nodes are required to supply information for one line segment because the line segment is specified with the length and the angle. The remaining two nodes are for supplying information about the coordinates of the initial point, Xl0 and Yl0, for the first line segment. As a result, if a stroke is represented by four line segments, the number of necessary input nodes is equal to ten (4×2+2). This is clearly shown in FIG. 15. As apparent from the above-mentioned description, the number of strokes is equal to that of the processing segments. In order to approximate each stroke into a plurality of lines, all vector data should be approximated at the same degree regardless of the length thereof. In other words, each stroke should be divided into line segments of the same number. In this event, a stroke can be mapped linearly, depending on its length, with the corresponding stroke.

As mentioned above, all data for the stroke correspond to the input and the output of the neural network and only one processing is required to produce desired stroke information accordingly.

<Second pattern generating method>

In this method, each line segment of a stroke is represented as a processing segment as shown in FIGS. 16(a) and 16(b). For example, the two strokes illustrated in FIGS. 16(a) and 16(b) consist of two line segments and one line segment, respectively. The second method considers one line segment as one processing segment with which the neural network is trained. In order to approximate a stroke consisting of a plurality of line segments in accordance with the polygonal line approximation technique, each line segment is specified based on coordinates of an initial point, length and angle. As shown in FIG. 17(a), the first line segment is specified with the coordinates Xl0 and Yl0 of the initial point, the length Ll0 and the angle Al0. The second line segment is specified with the coordinates Xl0 and Yl0 of the initial point, the length Ll1 and the angle Al1. Similarly, all of the line segments are specified with the length and the angle. The n-th line segment is thus specified with, as shown in FIG. 17(a), the length Lln and the angle Aln. The vector data indicative of the specified line segments are converted into feature vectors as an input pattern or a teacher pattern. An example of the converted feature vector is shown in FIG. 17(b). In the second pattern generation method, the vector data for only one stroke is processed at one time. The neural network architecture requires N input nodes and N output nodes where N is a positive integer which is equal to the total number of the coordinates, the length and the angle for one stroke. In this example, one stroke is specified with the coordinates X and Y of the initial point, the length L and the angle A so that N is equal in number to four. This is clearly shown in FIG. 18. The second pattern generating method results in simplification of the neural network and the reduced processing time. It is, however, necessary to operate the neural network n times in order to produce desired stroke information where n represents a positive integer equal to the number of the line segments.

With the second pattern generating method, it is preferable to calculate the coordinates of the initial point of a subsequent stroke to be processed in accordance with the output indicative of information for the previous stroke. If, for example, the outputs corresponding to the input data X0, Y0, L0 and A0 are X1, Y1, L1 and A1 for the first stroke, coordinates X2 and Y2 of the initial point for the second stroke are preferably given by:

    X2=X1+L1×cos (A1),

and

    Y2=Y1+L1×sin (A1)                                    (6).

Similarly, the outputs corresponding to the input data X2, Y2, L2 and A2 are X3, Y3, L3 and A3 for the first stroke, coordinates X4 and Y4 of the initial point for the third stroke are preferably given by:

    X4=X3+L3¥cos (A3),

and

    Y4=Y3+L3¥sin (A3)                                      (6)'.

The above-mentioned first and second pattern generating methods are shown in comparison in Table 1 below. The advantage of each method to the pattern generation depends on the number of segments to be used for approximation and the performance of an operating machine where the pattern generating method is implemented. Thus, it is unnecessary to determine the superior one.

                                      TABLE 1                                      __________________________________________________________________________     First Method         Second Method                                             __________________________________________________________________________     Network  Input layer: (# of segments) × 2 + 2                                                 Input layer: 4                                            Architecture Hidden layer: Random (a)                                                               Hidden layer: Random (b)                                  Connections          {(# of segments)¥2 + 2} + Random(a)                                        4 × (random + 1) + Random(b)¥(4 + 1) +                               Random × (# of segments) × 2 + 2              Operational Disadvantageous                                                                         Advantageous                                              Time for one (Large network)                                                                        (Small network)                                           Pattern   One cycle time = T1                                                                       One cycle time = T2                                       Time for             T2¥(# of segments)                                    one stroke T1                                                                  __________________________________________________________________________      #: the number of                                                         

While two pattern generating methods have thus been described with some example thereof, other methods and techniques can also be applied for extracting features of the input and teacher patterns. Typical feature extraction methods are disclosed in, for example, Japanese Patent Unexamined Prepublication Nos. 92084/1987, 92089/1987, 164183/1987, 208191/1987 and 216092/1987.

Japanese Patent Unexamined Prepublication No. 92084/1987 discloses that a key point extracting input extracts plural key points for each stroke of characters, every character data from the character data belonging to the same type of the input characters. Then a relative position extracting means extracts the relative position relation between each pair of strokes of the relevant character for each character data and each key point based on the key point data obtained by the means. A relative position selecting input selects the type of the key point having the most stable position relation, as well as the relative position relation of the key point for each pair of strokes of character types, based on the data obtained by the means. In this way, the character features can be extracted with no error by extracting the features at the stable relative positions.

Japanese Patent Unexamined Prepublication No. 92089/1987 discloses that an input feature extracting means extracts the input features out of an input character pattern for each character stroke. While a character stroke order rearranging means divides the character strokes order rearranging means divides the character strokes of the input character pattern at every type of characters according to the prescribed decomposing procedure and rearranges the strokes in a prescribed stroke order. A collating means collates the input features extracted by the means with the standard features of each character type stored in the dictionary memory for each character stroke and according to the character stroke rearranging order decided by the means. Thus, the character type of the input character pattern is decided. In this way, the character type of an input character pattern can be recognized with high accuracy regardless of the variance of the order of strokes or forms of characters.

Japanese Patent Unexamined Prepublication No. 164183/1987 discloses that an inter-stroke distance calculating means performs a distance calculation between an input pattern stroke data and a reference pattern stroke data, and generates an inter-stroke data and a reference pattern stroke data, and generates an inter-stroke distance matrix, and outputs it to a candidate stroke selecting means. The means generates the first corresponding candidate data, and outputs it to an inter-stroke relative position relation deciding means, and the means generates the second corresponding candidate data, and outputs it to a strokes corresponding means. The means, when one or a plural number of strokes which are decided as permissible by the data are present, corresponds one of the strokes to the stroke in the present reference pattern tentatively, and saves remainders at a stack means. Such operations are repeated until all of the strokes in the reference pattern have been corresponded. Thereby, the accurate correspondence can be performed.

Japanese Patent Unexamined Prepublication No. 208191/1987 discloses that a handwritten input character pattern on a tablet is compared with the dictionary patterns in a recognition dictionary by a candidate selecting circuit. The candidate selected by the circuit is inputted to a penalty setting circuit, the difference between the number of strokes of the input character and that of the proposed character is checked and a penalty is added to the difference between numbers of strokes. A stroke number sorting circuit sorts the proposed character based on the stroke number difference and the penalty; to determine the recognition order.

Japanese Patent Unexamined Prepublication No. 216092/1987 discloses that an input pattern expressed with a structure called DAG (directed acyclic graph) is stored in an input pattern storage part 1. Standard patterns expressed with the DAG structure are stored in a standard pattern storage part 2. In the DAG structure, feature points including end points of strokes and bending points are used as nodes and a pattern is expressed with a form of connection of a point of feature points transposed in accordance with the writing order. If there are plural feature points which should follow a certain feature point by the writing order, the standard pattern is stored as the structure where the node corresponding to the feature point is connected to plural nodes.

The neural network applied to the present invention learns the modification rules for graphic patterns. Two training methods can be used depending on the selected teacher patterns, both of which are described here.

<First Training Method>

Input Patterns Used: original patterns

Teacher Patterns Used: modified patterns obtained by modifying the original patterns

First, a set A is prepared which includes a subset A0 consisting of a plurality of original patterns. The original patterns are represented in the electronic manner as, for example, the image data or the vector data. Subsequently, a set B is prepared which also includes a subset B0 consisting of a plurality of sample patterns. The sample patterns are obtained by means of modifying the corresponding original patterns. The modified patterns are also represented in the electronic manner. The neural network is supplied with the subset A0 as the input patterns. The modified patterns are also supplied to the neural network as teacher patterns. With these original and teacher patterns, the neural network learns the modification rule as network data. When the network reaches a satisfactory level of performance, the neural network can produce modified patterns for all of the remaining patterns in the set A.

<Second Training Method>

Input Patterns Used: original patterns

Teacher Patterns Used: differences between the original patterns and modified patterns

First, a set A is prepared which includes a subset A0 consisting of a plurality of original patterns. The original patterns are represented in the electronic manner as, for example, the image data or the vector data. Subsequently, a set B is prepared which also includes a subset B0 consisting of a plurality of sample patterns. The sample patterns are obtained by modifying the corresponding original patterns. The modified patterns are also represented in the electronic manner. The neural network is supplied with the subset A0 as the input patterns.

A difference E between the original pattern and its corresponding modified pattern can be given as polynomial data obtained by a simple equation,

    E=B0-A0                                                    (7).

It is expected, however, E will exceed a predetermined range for the output layer of the neural network and the above-mentioned equation (7) can be applied only to the limited patterns. Accordingly, it is preferable to use the following equation,

    E=F(B0-A0,2)+C                                             (8),

where

    C=F(up-low,2)                                              (9).

In the equation (9), "up" and "low" represent the upper and lower limits, respectively, of a sigmoid function illustrated in FIG. 2. When the input is not modified, the output can be given by the equation (9).

As well known in the art, the sigmoid function is assumed to rapidly approach fixed finite upper and lower limits asymptotically as its argument gets large and small, respectively, generally in the range between 0 and 1. As a result, C is equal to 0.5 in general. When using the second training method, the neural network should learn the difference between the original pattern and the teacher pattern. Thus, the teacher pattern is equal to 0.5+α except for some extremities. During initial loading, the weights in each node are set to zero and an initial output is expected to be equal to or around 0.5. This means that the weights converge during a short period of time because the weight on convergence is rather close to the initial value.

With the first training method, it is necessary to supply a large number of patterns to the network in order to reach a satisfactory level of performance. In contrast, the second training method requires smaller number of patterns for a more stable operation. Calculation for converting the output of the neural network into the desired output to be used becomes easier when the neural network is trained in accordance with the second training method. However, in order to train the neural network according to the second training method, it is necessary to modify network architecture slightly in such that the output of the neural network is supplied to a node in a post-processing layer. The node in the post-processing layer also receives the input corresponding to the received output. More specifically, the input is supplied to the input node as well as the post-processing node. In this event, the input is bypassed and supplied to the post-processing node.

Referring to FIGS. 19(a) and 19(b), 20 and 21(a) and 21(b), a method for reducing the time interval necessary for training the neural network until convergence of the weights will be described. In both FIGS. 19(a) and 19(b), the horizontal axis represents the number of training cycles while the vertical axis represents the number of patterns used. As mentioned above in conjunction with the second training method, a subset A0 is supplied to the neural network as the input patterns. In this event, the same subset A0 is first supplied thereto as the teacher patterns as shown in FIG. 19(b). No teacher patterns are variance with the input patterns because exactly the same patterns are used both as the input and teacher patterns. Under such circumstances, the weight is bound to converge with a lessor time interval of the training cycle. The weight obtained by the first training stage is used as an initial value of the weight for the subsequent learning stage. In the subsequent training stage, the neural network is supplied with the subset A0 as the input patterns and the subset B0 as the teacher patterns. Therefore, the network is able to learn the modification rule between A0 and B0.

In this manner, the training can be carried out in two stages (referred to as "two-stage training" hereinafter), in which the network architecture after the first stage is stored and used as the initial value for the second stage. This contributes to a reduced number of the training cycle in the second stage. As compared with a method for training the network (referred to as "single-stage training" hereinafter) shown in FIG. 19(a) where the subset B0 is used as the teacher patterns from the beginning of the training operation, this two-stage training requires less time to converge the weights. This is shown clearly in FIGS. 21(a) and 21(b).

The first training stage exhibits an energy space as indicated by a broken line in FIG. 20, where the weight is found on convergence at a point 1. The second training stage starts with the weight indicated by a point 2 and the weight converges at a point 3. As apparent from FIG. 20, the weight at point 2 converges earlier than that which is randomly selected (e.g., the weight indicated by a point 4). In addition, the first training stage requires a lesser number of teacher patterns, which results in the simplified energy space for earlier convergence. The number of training cycles for the above-mentioned two-stage training is compared with that of the single-stage training. The result of the comparison and an advantage of the two-stage training will be described with reference to FIG. 21.

In both FIGS. 21(a) and 21(b), the horizontal axis represents the number of presentations of the training to the set work while the vertical axis represents the mean square error, where FIG. 21(a) is for the single-stage training and FIG. 21(b) is for the two-stage training. In the two-stage training according to the present invention, training seven hundred fifty-two times leads the weight to converge. This is less by far than the ten thousand and seven times in the single-stage training. The first training step is stopped at the two hundred and forty sixth training cycle and the second training step continues from the two hundred and forth-seventh to seven hundred and fifty-second training cycle.

The two-stage training method can be effective only in a case where the input patterns are supplied to the network with a control parameter because this method requires the following two conditions to be satisfied: (1) the first training step can be readily terminated with the weight converged, and (2) the data for the first training step is similar to that for the second training step (i.e., the energy space for the first training step is similar to that for the second training step). Setting of the control parameter will now be described.

The neural network preferably comprises a node for a control parameter other than the nodes for input and teacher patterns. The control parameter generally ranges from zero to one, both inclusive, only because the range of the sigmoid function ranges from zero to one. It is understood accordingly that the value itself of the control parameter has no meaning. A pattern indicated by the output is assumed to resemble the teacher pattern as the value of the control parameter approaches one, while the pattern is assumed to resemble the input pattern as the value of the control parameter approaches zero. Adjustment of the value of the control parameter may yield a large number of different outputs for one original pattern. For example, an output pattern between the input pattern and the teacher pattern can be obtained in the following manner. First, at least two pairs of the input pattern and the teacher pattern are prepared. In this event, the input patterns for each pair are exactly the same while the teacher patterns are different. During training with the first pair of patterns, the control parameter is set to any value X. During training with the second pair of patterns, the control parameter is set to another value Y. When an unknown pattern is supplied to the network, the control parameter is set to a value between X and Y to produce the output pattern between the input pattern and the teacher pattern. Of course, it is possible to provide neural network architecture which has two or more nodes for the control parameter.

The end patterns (e.g., the personal font) generated by the neural network is stored, as mentioned above, in the memory unit of the user terminal. A user may evaluate the personal font generated by the neurocomputer in the neuroprocessing center. If the user is not satisfied with the generated font, he may send back this font or data to the neuroprocessing center with a control parameter different from that used for the previous processing. For example, a user may require emphasis of the peculiarity of his characters, or may require remodification of the generated font into one similar to the original reference. character. The degree of the requirement can be represented by a percentage. The user first indicates generation of the personal font with considering rates of the reference character set to twenty percent and the hand-written character eighty percent. If the generated font of the user's requirement is more similar to the reference font, the user may indicate re-modification thereof with the considering rate of the reference character set to forty percent.

It is possible to select the reference pattern as a combined character pattern of which shape is selected from the various fonts such as mincho, text style or gothic. It is also possible to use three or more fonts of character as the teacher pattern at any desired rate. For instance, the rate of mincho: gothic: hand-written character may be 2:4:4.

The standard data are normalized, a part of which may sometimes be equal between two or more of them. Some patterns may accordingly have the same input patterns depending on the training pattern generating method, particularly in the case of training character patterns. As shown in FIG. 22, when i∫ and a, are selected as the teacher patterns in order to establish a graphic pattern generating system by means of training the neural network with a hand-written character, the input patterns for both characters are the same because they have same left-hand radicals or . In contrast, there are no hand-written characters which are exactly the same even for the same character .

As a result, two or more different types of teacher patterns may be generated for identical input patterns, which leads to confusion in the neural network because the network cannot determine which pattern should be used as the teacher pattern. In such circumstances the weight will never converge and an extremely large number of cycles will be continued for endless training cycles. It is accordingly impossible for the network to determine when the training should be stopped. Such a problem tends to arise in the neural network system where a variety of graphic patterns are used for training.

In order to overcome the above-mentioned problem, when a set of input patterns having some common portions or equivalents exists, only one of them is selected as the teacher pattern to train the neural network. In this event, classification of input patterns can be made by calculating a similarity between two similar patterns in the manner well known in the art. The patterns within a predetermined value of similarity are classified into a same group, one of which is selected as the teacher pattern. For example, as shown in FIG. 23, patterns P1, P2 and P9 are classified into a group G1 and patterns P5 anal P10 are classified into a group G2. It is noted here that the ordinate and the abscissa are only for representing distribution of the patterns. For training, one of the patterns is selected from each of the group G1 and the group G2.

The above-mentioned "classification method" can also be applied to a sound synthesizing system using the neural networks. Utterance for one character differs slightly from person to person, e.g., utterance for a character "a" may, for example, be .ae butted.! or a!, etc. In this case, one teacher pattern is selected from a group consisting of different utterance patterns for one character "a".

In order to further clarify the features and advantages of the present invention, some examples are shown hereinafter. As an example, description will be made regarding graphic pattern generating service.

<Example 1>

Mr. T and Mr. Y were asked to write some characters in a desired shape. These characters were supplied to the neural network as the teacher patterns. After completion of training, unknown original characters were supplied to the network to produce modified characters therefor. Patterns used and results of this test are shown in FIGS. 24 through 28.

Input patterns and teacher patterns were prepared in accordance with the above-mentioned second pattern generating method. Characters used are: .

As described in conjunction with FIG. 17(a), an original character was approximated into a polygonal line consisting of a plurality of continuous line segments. A first line segment is specified with the coordinates Xl0 and Yl0 of the initial point, the length Ll0 and the angle Al0. The second line segment is specified with the coordinates Xl1 and Yl1 of the initial point, the length Ll1 and the angle Al1. Similarly, all of the line segments are specified with the coordinates of the initial point, the length and the angle. The n-th line segment is thus specified with, as shown in FIG. 17, the coordinates Xln and Yln of the initial point, the length Lln and the angle Aln.

Next, Mr. T and Mr. Y were asked to write the characters by hand as shown in FIGS. 24 and 25. These hand-written characters were also approximated into polygonal lines to produce vector data. More particularly, a first line segment is specified with the coordinates XO0 and YO0 of the initial point, the length LO0 and the angle AO0. The second line segment is specified with the coordinates XO1 and YO1 of the initial point, the length LO1 and the angle AO1. Similarly, all of the line segments are specified with the coordinates of the initial point, the length and the angle. The n-th line segment is thus specified with the coordinates XOn and YOn of the initial point, the length LOn and the angle AOn.

The neural network and learning conditions used are as follows.

    ______________________________________                                         Network Architecture:                                                                          nodes   = (5 5 4)                                                            5 Input nodes (4 nodes for input                                                 data and 1 for control                                                         parameters)                                                                  5 Hidden nodes                                                                 4 output nodes                                                   Learning coefficients:                                                                         epsilon = (5.000000 1.000000)                                                  alpha   = (0.800000 0.300000)                                  Allowable learning error:  allowance                                                               = 0.01                                                     Maximum training cycle:  iteration                                                                 = 10,000                                                   Random seed: random seed                                                                               = 5                                                    Initial values:                                                                             weight     = random (0.5 -0.01                                                               0.01)                                                            threshold  = random (0.5 -0.01                                                               0.01)                                               ______________________________________                                    

A set of modified characters were used as the teacher patterns in accordance with the above-mentioned first training method. Thus, a feature vector indicative of (Xl0, Yl0, Ll0 and Al0) is supplied to the network as the input pattern and a feature vector indicative of (XO0, YO0, LO0 and AO0) is supplied thereto as the teacher pattern. This is continued up to the n-th pattern represented by (Hln, Yln, Lln and Aln) and (XOn, YOn, LOn and AOn). During training, the neural network learned the following two modification rules for each of .

    Original character→Original character (control parameter of 0)

    Original character→Modified character (control parameter of 1)

As mentioned above, the neural network learned "Original character Original character (control parameter of 0)" to produce median outputs. Examples of teacher patterns (which are exactly the same as the input patterns) are shown in FIG. 29.

In the neural network of the above-mentioned network architecture, the weight did not converge and training was stopped at the maximum training cycle, i.e., ten thousand times. At the end of training, the maximum mean square error and the mean error for Mr. T were 0.005320 and 0.000419, respectively, while the maximum mean square error and the mean error for Mr. Y were 0.007625 and 0.000623, respectively.

When the neural network reached a satisfactory level of performance, three unknown characters, , were supplied to test the network. The results thereof are shown in FIGS. 26 through 28. The control parameter for each character was varied between 0.000000 and 1.000000 by every 0.200000, as represented by c para=??????? in the figures. The results show that the control parameter approximating to one yields a character similar to the hand-written character while the control parameter approximating to zero yields a character similar to the original character.

It is noted that, during training operation, the coordinates of the initial point of the second stroke were calculated in accordance with the above-mentioned equations (6) and (6)'. The coordinates X and Y of the initial point of one stroke are equal to those of other strokes, respectively, and the end character is quite natural in shape as shown in FIG. 30(b) compared with a character shown in FIG. 30(a). The character shown in FIG. 30(a) is a result of learning by the network with the architecture and conditions similar to those disclosed above in conjunction with the example 1 except that pattern generation used is the above-mentioned first pattern generating method. Without considering the coordinates of an initial point of a previous stroke, the resultant character may be formed with some line segments which should be connected or crossed but not actually as shown in FIG. 30(c).

<Example 2>

In this example, character fonts were also automatically generated in the same manner as described in conjunction with the example 1 except for the following conditions.

The neural network and learning conditions used are as follows.

    ______________________________________                                         Network Structure:                                                                          nodes     = (5 2 4)                                                            5 Input nodes (4 nodes for input data                                              and 1 for control parameters)                                              2 Hidden nodes                                                                 4 0utput nodes                                                    Learning coefficients:                                                                          epsilon = (5.000000 1.000000)                                                  alpha   = (0.800000 0.300000)                                 Allowable learning error:  allowance                                                                = 0.01                                                    Maximum training cycle: iteration                                                                   = 5,000                                                   Random seed:                                                                              random seed   = 5                                                   Initial values:                                                                           weight        = random (0.2 -0.01                                                               0.01)                                                         threshold     = random (0.2 -0.01                                                               0.01)                                              ______________________________________                                    

Four alphabets "A", "T", "H" and "M" shown in FIGS. 31 and 32 were used as the input and teacher patterns to learn the following modification rules.

    Original character  Original character (control parameter of 0)

    Original character  Modified character (control parameter of 1)

When the neural network reached a satisfactory level of performance, four unknown character, "K", "E", "I" and "L", were supplied to the network. The results thereof are shown in FIGS. 33 through 36. The control parameter for each character was varied between 0.000000 and 1.0000000 by every 0.200000. The results show that the control parameter approximating to one yields a character similar to the hand-written character while the control parameter approximating to zero yields a character similar to the original character.

<Example 3>

This example is a case where a difference between the input pattern and the teacher pattern is used as the teacher pattern. As mentioned above, the neural network architecture should be modified slightly for learning the modification rule from the difference. The difference between the original pattern and teacher pattern can be given in accordance with the equations (8) and (9). In this event, operation is made on the basis of the following equation,

    O=F(T-I,R)+C                                               (10),

where O represents an actual output of the neural network, T represents a desired output, I represents an input for the neural network, R represents a conversion rate and C represents a constant. Thus, the desired output T of the network can be given by:

    T=I+(O-C)¥R                                            (11).

The architecture of the network is modified for producing the desired output T. The output of the network is shown in FIG. 37(b) in comparison with the output (FIG. 37(a)) obtained in accordance with the first training method.

While the preferred embodiments of the present invention have thus been described in conjunction with the graphic pattern generating service through a neuroprocessing center, it is to be understood that other services can be provided by the neuroprocessing center. Basic operation of the present invention is described now with reference to FIG. 38, and some other examples of the neuroprocessing service are shown.

In FIG. 38, vector data of an original pattern (reference pattern) is supplied to the neural network at step 101. The original pattern may be a standard character pattern for the font generating service, whereas it may be a predetermined sound message for voice message generating service. At step 102, vector data of a teacher pattern is supplied to the network. In this event, the teacher pattern may be a modified character pattern for the font generating service. Another example of the teacher pattern is a voice of a particular individual and so on. Step 103 learns a modification rule between the reference pattern and the teacher pattern. The modification rule can be obtained at step 103' by calculating a difference between the reference pattern and the teacher pattern. Step 104 determines whether the weights of the network converge. If the step 104 is affirmative, control passes to step 107, while, if the step 104 is negative, control passes to step 106. The step 106 determines whether learning operation should be stopped. When the step 106 is negative, processing is repeated from the step 101. On the other hand, a positive result at the step 106 continues to the step 107. At the step 107, vector data of an unknown pattern is supplied to the neural network. Subsequent step 108 modifies the unknown pattern in accordance with the modification rule. Finally, step 109 produces the modified pattern for the unknown pattern. In this event, the modified pattern may be a personal font for a word processor, a synthesized message voice and so on.

The present invention is also applicable to an optical character reader (OCR) as shown in FIG. 39. The OCR has been used as a character input device in recent years in spite of its rather low recognition rate. An optical character reader 80 comprises a scanner 81, and a character recognition system 82. The character recognition system comprises a font memory 83 and a character recognition unit 84. The font memory 83 contains a predetermined font, while the character recognition unit 84 compares a picked-up data of a character with a character of the stored font. When a character to be read is quite similar in shape to that stored in the memory, the OCR enables recognition of the character. A hand-written character is, however, rarely read by the OCR. Such an unrecognizable character is used as a teacher pattern to generate a complete step of characters (font) through the neuroprocessing service according to the present invention. The unrecognizable pattern is sent to the neural network NN in an adequate manner. Once the unrecognizable character is made as a font, it becomes possible to store the font in the font memory of the OCR. As a result of storing the font of the hand-written characters, the OCR can recognize any other hand-written characters written by the same person.

As the present invention may be embodied in several forms without departing from the spirit of essential characteristics thereof, it is to be understood that the invention is not limited to the services described above. The scope of the invention, therefore, is to be determined solely by the following claims. 

What is claimed is:
 1. An apparatus for providing neuroprocessing service, comprising:a user terminal to obtain input from a user; and a neuroprocessing center, operatively connectable to said user terminal, for learning a graphic pattern modified by the user from said user terminal to estimate a modification rule based on differences between the graphic pattern modified by the user and an original of the graphic pattern, for generating a modified graphic pattern by applying the modification rule to a different original graphic pattern and for providing the modified graphic pattern to the user.
 2. An apparatus for providing neuroprocessing service as claimed in claim 1,further comprising a communication line connecting said neuroprocessing center to said user terminal to establish a communication network therebetween, wherein said neuroprocessing center includes a neurocomputer available for access at any time via said user terminal through said communication line and the modified graphic pattern is supplied to said user terminal through said communication line.
 3. An apparatus for providing neuroprocessing service as claimed in claim 1, wherein said user terminal comprises a neurocomputer for neuroprocessing as assigned by said user terminal and said neuroprocessing center.
 4. An apparatus for providing neuroprocessing service as claimed in claim 3,wherein said neuroprocessing center comprisesa neurocomputer to form neural networks; and a learning unit for the neural networks, said learning unit in said neuroprocessing center learning a learning law as requested by the user, performing a learning operation with respect to the learning law, producing a result of the learning operation, and transmitting the result of the learning operation from said neuroprocessing center to said user terminal; and wherein said neurocomputer in said user terminal executes neuroprocessing using the result of the learning operation.
 5. An apparatus for providing neuroprocessing service as claimed in claim 4,wherein said user terminal comprisesa neural network; and means for sending training data to said neuroprocessing center, and wherein said learning unit in said neuroprocessing center comprises means for learning a connection weight of said neural networks in accordance with the training data, and said learning unit transmits the connection weight to said user terminal in the result of the training operation.
 6. An apparatus for providing neuroprocessing service as claimed in claim 5, wherein said neural network of said user terminal uses the connection weight supplied from said neuroprocessing center to execute neuroprocessing through said neural network in said user terminal.
 7. An apparatus for providing neuroprocessing service as claimed in claim 1,wherein said user terminal comprises image input means for inputting an input character, wherein one of said neuroprocessing center and said user terminal comprises a character recognition system for recognizing the input character supplied from said image input means, and wherein the neuroprocessing service provided by said apparatus generates a font recognizable by said character recognition system using a teaching character to be recognized as a teacher pattern when said character recognition system cannot recognize the input character supplied from said image input means.
 8. An apparatus for providing neuroprocessing service, comprising:a user terminal to obtain input from a user; and a neuroprocessing center includinga neurocomputer, operatively connected to said user terminal and including a neural network, to execute neuroprocessing to generate a modified graphic pattern in response to a user request when a subset A₀ of a set A consisting of original patterns, is modified according to modification rules by the user into a subset B₀ of a set B, the subset B₀ corresponding element-for-element to the subset A₀, said neurocomputer estimating the modification rules by training the neural network with the subset B₀ as teacher patterns and supplying to the neural network the subset A₀ as input patterns and the subset B₀ as training patterns, and said neurocomputer then applying the modification rules to all of the set A to generate the set B; and means for supplying from said neuroprocessing center to said user terminal the set B as the modified graphic pattern.
 9. An apparatus for providing neuroprocessing service as claimed in claim 8,further comprising a communication line connecting said neuroprocessing center to said user terminal to establish a communication network therebetween, and wherein said neurocomputer in said neuroprocessing center is available for access at any time by the user through said user terminal and said communication line, said neurocomputer produces a processed result through neuroprocessing and the processing result is transmitted to said user terminal through said communication line.
 10. An apparatus for providing neuroprocessing service as claimed in claim 9, wherein said user terminal comprises a neurocomputer and the neuroprocessing is assigned by said user terminal and said neuroprocessing center.
 11. An apparatus for providing neuroprocessing service as claimed in claim 10,wherein said neurocomputer in said neuroprocessing center includes a learning unit for implementing the neural network by learning a learning law in response to a request by the user, performing a learning operation to generate a result, and transmitting the result of the learning operation from said neuroprocessing center to said user terminal, and wherein said neurocomputer in said user terminal does not include a learning unit and executes neuroprocessing using the result of the learning operation performed by said learning unit of said neuroprocessing center.
 12. An apparatus for providing neuroprocessing service as claimed in claim 11,wherein said user terminal comprises a neural network and means for supplying training data to said neuroprocessing center, wherein said neuroprocessing center comprises means for learning a connection weight of said neural network in said user terminal, and wherein said learning means of said neuroprocessing center learns the connection weight of said neural network in accordance with the training data, and transmits the connection weight to said user terminal.
 13. An apparatus for providing neuroprocessing service as claimed in claim 8, wherein said user terminal comprises image input means for inputting character data and for supplying the character data to said neuroprocessing center.
 14. An apparatus for providing neuroprocessing service as claimed in claim 13,wherein said neuroprocessing center executes the neuroprocessing to generate a font as the modified graphic pattern using the character data sent from said user terminal to said neuroprocessing center.
 15. An apparatus for providing neuroprocessing service as claimed in claim 14, wherein the character data represents a hand-written character.
 16. An apparatus for providing neuroprocessing service, comprising:a user terminal to obtain input from a user and including a neurocomputer without a learning unit; a communication line connected to said user terminal; and a neuroprocessing center including a neurocomputer having a neural network, and a learning unit for the neural network, said neuroprocessing center connected to said communication line to establish a communication network with said user terminal, to execute neuroprocessing to generate a modified graphic pattern in response to a request by the user supplied by said communication line,said neurocomputer in said neuroprocessing center accessible at any time by the user through said communication line to send a result of the neuroprocessing back to said user terminal through said communication line and to share the neuroprocessing between said user terminal and said neuroprocessing center, said learning unit of said neurocomputer in said neuroprocessing center learning a learning law as requested by the user, performing a learning operation based on the learning law to produce a result and transmitting the result to said neurocomputer in said user terminal for neuroprocessing using the result of the learning operation, said neurocomputer in said neuroprocessing center learning to produce the modified graphic pattern from a set A, including a subset A₀ consisting of original patterns to be modified according to modification rules determined by said neurocomputer using the subset A₀ as input patterns, where a subset B₀ of a set B, which corresponds element-for-element to the subset A₀, is supplied from the user terminal for use as teacher patterns to train the neural network of said neuroprocessing center, and said neurocomputer in said user terminal receiving a subset A₁ of the set A consisting of additional patterns other than the original patterns included in the subset A₀ and generating a subset B₁ of modified patterns corresponding element-for-element to the subset A₁ by applying the modification rules.
 17. An apparatus for providing neuroprocessing service as claimed in claim 16, wherein the neuroprocessing executed by said neurocomputer is a character recognition service.
 18. A neuroprocessing system comprising:a neuroprocessing center available as a public facility for a user, to execute neuroprocessing as requested by the user, said neuroprocessing center includinga neural network; and means for learning a weight value of said neural network; and a user terminal comprising a neural network co-operating with said neuroprocessing center to execute the neuroprocessing for generating modified graphic patterns, to transmit training data from said user terminal to said neuroprocessing center to train said neural network in said neuroprocessing center by updating the weight value, said neuroprocessing center sending the weight value to said user terminal value supplied from said neuroprocessing center in said neural for use in executing neuroprocessing to generate the modified graphic patterns.
 19. A neuroprocessing system as claimed in claim 18, wherein the training data transmitted from said user terminal to said neuroprocessing center is character data.
 20. A neuroprocessing system as claimed in claim 19, wherein said neural network in said user terminal modifiers a font by using the updated weight value.
 21. A neuroprocessing system as claimed in claim 19, wherein said character data represents a hand-written character.
 22. A method of providing a neuroprocessing service, comprising the steps of:(a) inputting a set of original graphic patterns; (b) inputting user modified patterns including a training patterns corresponding to a subset of the original graphic patterns; (c) estimating at least one modification rule based on differences between the training patterns and the subset of the original graphic patterns; and (d) applying the at least one modification rule to the original graphic patterns, to obtain modified graphic patterns.
 23. A method as recited in claim 22, further comprising the step of (e) providing the modified graphic patterns as teacher patterns to train a neural network to recognize the user modified patterns.
 24. A neuroprocessing system comprising:a user terminal for use by a user, to supply training data; and a neuroprocessing center to receive as the training data a graphic pattern modified by the user, said neuroprocessing center including a neural network having weight values and producing an output to the user via said user terminal; and training means for training said neural network using the training data from said user terminal to obtain an updated weight value of said neural network in accordance with the training data, said neuroprocessing center executing neuroprocessing to generate a modified graphic pattern through said neural network with the updated weight value.
 25. A neuroprocessing system comprising:a user terminal for supplying training data; a neuroprocessing center for receiving the training data, said neuroprocessing center includinga neural network having a weight value, for receiving said training data and producing an output to the user via said user terminal; and training means for training said neural network and for updating the weight value of said neural network in accordance with the training data, said neuroprocessing center executing neuroprocessing for generating a modified graphic pattern through said neural network with the weight value.
 26. A method of providing a neuroprocessing service, comprising the steps of:(a) storing a set of original graphic patterns at neuroprocessing; (b) inputting user modified patterns, including a training patterns corresponding to a subset of the original graphic patterns, at a user terminal; (c) transmitting the training patterns from the user terminal to the neuroprocessing center; (d) estimating at least one modification rule based on differences between the training patterns and the subset of the original graphic patterns; (e) applying the at least one modification rule to the original graphic patterns, to obtain modified graphic patterns; (f) transmitting the modified graphic patterns from the neuroprocessing center to the user terminal; (g) training a neural network in the user terminal using the modified graphic patterns; and (h) identifying the user modified patterns using the neural network trained in step (g). 